let app = getApp();
Page({
  data: {
    stars: [0, 1, 2, 3, 4],
    normalSrc: '/images/@2x_star_b.png',
    selectedSrc: '/images/@2x_star_y.png',
    key: 1, // 默认1星
    userInput: '',
    consultantId: '', 
    myConsultId: 8, 
    url: app.globalData.url || '', 
    anonymity: 0, // 0=非匿名，1=匿名
    userId: 0 //
  },

  onLoad(options){
    console.log(options.data);
    const { consultantId = '', myConsultId = '' } = options;
    this.setData({
      consultantId,
      myConsultId: myConsultId || this.data.myConsultId
    });
    this.getUserFromStorage();
  },

  // 从本地存储获取用户信息并提取ID
  getUserFromStorage() {
    try {
      
      const user = wx.getStorageSync('user');
      
      if (user && user.id) {
        const userId = user.id;
        app.globalData.userId = userId;
        this.setData({
          userId: userId
        });
        
        console.log('从本地存储获取到用户ID:', userId);
        return userId;
      } else {
        
        console.log('本地存储中未找到有效的用户信息');
        this.setData({ userId: 0 });
        wx.showToast({
          title: '未检测到用户信息',
          icon: 'none',
          duration: 2000
        });
        return 0;
      }
    } catch (e) {
      console.error('获取本地存储用户信息失败:', e);
      this.setData({ userId: 0 });
      return 0;
    }
  },

  // 星级选择事件
  selectRight(e) {
    this.setData({ key: e.currentTarget.dataset.key });
  },

  // 评价内容输入事件
  textAreaCon(e) {
    this.setData({ userInput: e.detail.value });
  },

  //咨询记录ID输入事件
  inputMyConsultId(e) {
    this.setData({ myConsultId: e.detail.value.trim() });
  },

  // 匿名状态切换事件
  onAnonymityChange(e) {
    this.setData({ anonymity: parseInt(e.detail.value) });
  },

  // 提交评价逻辑
  saveAccess() {
    const {
      userInput,
      key,
      consultantId,
      myConsultId,
      url,
      anonymity,
      userId
    } = this.data;

    // 基础校验：评价内容非空
    if (!userInput.trim()) {
      wx.showModal({ 
        title: '提示', 
        content: '请填写评价内容后再提交', 
        showCancel: false 
      });
      return;
    }

    // 基础校验：咨询记录ID非空
    // if (!myConsultId.trim()) {
    //   wx.showToast({ title: '请输入有效的咨询记录ID', icon: 'none' });
    //   return;
    // }

    // 检查用户ID是否有效
    if (userId === 0) {
      wx.showToast({ title: '用户信息获取失败', icon: 'none' });
      return;
    }

    // 检查接口地址是否有效
    if (!url) {
      wx.showToast({ title: '接口地址未配置', icon: 'none' });
      return;
    }

    // 发起评价提交请求
    wx.request({
      url: url +'consultantEvaluation',
      method: 'POST',
      data: {
        consultantId,
        star: key,
        content: userInput,
        anonymity,
        userId,
        myConsultId
      },
      success: (res) => {
        if (res.data?.code === 200) {
          wx.showToast({ 
            title: '评价提交成功', 
            icon: 'success', 
            duration: 1500 
          });
          setTimeout(() => wx.navigateBack(), 1500);
        } else {
          wx.showToast({ 
            title: res.data?.msg || '提交失败，请重试', 
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({ title: '网络异常，请稍后再试', icon: 'none' });
      }
    });
  }
});
